/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package view;

import java.util.ArrayList;
import model.dao.TurmaDao;
import model.pojo.Turma;

/**
 *
 * @author leonidia
 */
public class TurmaView {

    private TurmaDao turmaDao;

    public TurmaView(TurmaDao turmaDao) {
        this.turmaDao = turmaDao;
    }

    public ArrayList<Turma> addTurma() {
        Turma turma;
        turma = new Turma();
        System.out.println("cadastrar Turma:");
        System.out.println("digite o ano da turma");
        turma.setAno(Console.readInteger());

        System.out.println("digite o periodo desta turma");
        turma.setPeriodo(Console.readInteger());

        System.out.println("digite o horario da turma (Ex.:  04:20 )");
        turma.setHorario(Console.readString());

        System.out.println("digite Local da turma");
        turma.setLocal(Console.readString());

        System.out.println("digite o numero de vagas desta turma");
        turma.setNumeroDeVagas(Console.readInteger());

        turma.setId(turmaDao.novoId());
        if (turmaDao.addTurma(turma) == false) {
            System.out.println("turma ja cadastrada");
        }
        return turmaDao.getTurma();
    }

    public int ListarTurma() {
        ArrayList<Turma> list;
        list = this.turmaDao.getTurma();
        if (list.isEmpty()) {
            System.out.println("NÃ£o hÃ¡ turmas cadastradas:\n");
            return 0;
        }
        System.out.println("Listagem de turma:\n");
        int i;
        for (i = 0; i < list.size(); i++) {
            System.out.println("Id:" + list.get(i).getId());
            System.out.println("Periodo:" + list.get(i).getPeriodo());
            System.out.println("Local:" + list.get(i).getLocal());
            System.out.println("Horario:" + list.get(i).getHorario());
            System.out.println("NumeroDeVagas:" + list.get(i).getNumeroDeVagas());
            System.out.println("----------------------------\n");
        }
        return 1;
    }

    public boolean listarTurmaPorId(Integer idTurma) {
        ArrayList<Turma> list;
        list = this.turmaDao.getTurma();
        if (list.isEmpty()) {
            System.out.println("Não há turmas cadastradas:\n");
            return false;
        }
        System.out.println("Listagem de turma:\n");
        int i;
        for (i = 0; i < list.size(); i++) {
            if (idTurma == list.get(i).getId()) {
                System.out.println("Id:" + list.get(i).getId());
                System.out.println("Periodo:" + list.get(i).getPeriodo());
                System.out.println("Ano:" + list.get(i).getAno());
                System.out.println("Local:" + list.get(i).getLocal());
                System.out.println("Horario:" + list.get(i).getHorario());
                System.out.println("NumeroDeVagas:" + list.get(i).getNumeroDeVagas());
                System.out.println("----------------------------\n");
            }
        }
        return true;
    }

    public boolean listarTurmaPorIdProfessor(Integer idProfessor) {
        ArrayList<Integer> professores = turmaDao.getListaProfessores();
        ArrayList<Integer> turmas = turmaDao.getListaAssocTurmas();
        Integer i;
        if (professores.isEmpty()) {
            System.out.println("Não há turmas cadastradas\n");
            return false;
        }
        for (i = 0; i < professores.size(); i++) {
            if (professores.get(i) == idProfessor) {
                listarTurmaPorId(turmas.get(i));
            }
        }
        return true;
    }
}